package com.aps.demo;

/**
 * APS排产方式枚举类
 * 
 * 在工业生产排程中，根据不同的业务需求和约束条件，
 * 可以采用不同的排产策略来优化生产效率和资源利用率。
 * 
 * @author APS System
 * @version 1.0
 */
public enum SchedulingMode {
    
    /**
     * 平均排产模式
     * 
     * 特点：
     * - 不允许加班时间（18:00-20:00）
     * - 严格按照标准工作时间进行排产
     * - 适用于对工时成本敏感的生产场景
     * - 工作时间：上午8:00-12:00，下午13:00-18:00
     */
    AVERAGE,
    
    /**
     * 正排模式（从开始时间向前排产）
     * 
     * 特点：
     * - 允许加班时间
     * - 从订单开始时间开始，按工序顺序向前排产
     * - 适用于追求最早完成时间的生产场景
     * - 工作时间：上午8:00-12:00，下午13:00-18:00，加班18:00-20:00
     */
    FORWARD,
    
    /**
     * 倒排模式（从交付时间向后倒推排产）
     * 
     * 特点：
     * - 允许加班时间
     * - 从订单交付时间开始，按工序顺序向后倒推排产
     * - 适用于严格按期交付的生产场景
     * - 能够最大化利用可用时间，减少提前完成造成的库存成本
     * - 工作时间：上午8:00-12:00，下午13:00-18:00，加班18:00-20:00
     */
    BACKWARD
}
